文章目录
一、伪随机数生成1. rand()2. srand()3. 测试代码
二、C++11随机数生成1. 随机数生成算法2. 随机数分布类型3. random_device
一、伪随机数生成
1. rand()
rand()会返回一个随机数值,范围是在0至RAND_MAX间。RAND_MAX定义在stdlib.h头文件中,其值为2147483647。
2. srand()
srand()可以用来设置rand()产生随机数时的随机数种子。通过设置不同的种子,可以获取不同的随机数序列。例如,可以利用srand(time(nullptr))的方式,根据系统时钟,产生不同的随机数种子。
3. 测试代码
#include
#include
#include
int main(int argc, char** argv){
// 生成rand()的随机数种子
srand(time(nullptr));
for (int i = 0; i
std::default_random_engine engine;
for (int i = 0; i
const int nrolls = 10000;
const int nstars = 100;
std::minstd_rand engine1(time(nullptr));
int param = 10;
std::poisson_distribution distribution(param);
int p[20] = {};
for(int i = 0; i
++p[tmp];
}
}
std::cout
std::random_device rd;
std::cout |